#include "debugger.h"

Debug * Debug::instance = NULL;

Debug::Debug(){
		activado = true;  //por defecto no activado	
		tab = false;
}
Debug::~Debug(){}

Debug* Debug::get_instance(){
	if( Debug::instance == NULL )
		Debug::instance = new Debug();	
	return Debug::instance;
}	
void Debug::set_activado(bool b){
	this->activado = b;	
}
		

void Debug::mostrar_mensaje(std::string mensaje){
	if(this->activado){
		if(tab)
			std::cout << "\t";	
		std::cout <<mensaje << "\n" << std::flush;
	}
}
	
void Debug::destroy(){
	delete Debug::instance;
}

void Debug::mostrar_mensaje(const char * mensaje){
	if(this->activado){
		if(tab)
			std::cout << "\t";
		std::string str(mensaje);
		std::cout << str << "\n" << std::flush;
	}
		
}

bool Debug::esta_activado(){
	return activado;
}
void Debug::set_tab(bool activado){
	tab = activado;
}
